package mn.idax.exchange.otc.util;

import sun.misc.BASE64Encoder;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * @Auther: dison
 * @Date: 2018/7/27 10:01
 * @Description: 加密
 */
public class EncryptUtils {

    /*
     * 生成md5 有传入参数字符串
     */
    public static String generate32MD5(String input) throws NoSuchAlgorithmException,UnsupportedEncodingException{
        //1.选择加密方式
        MessageDigest md = MessageDigest.getInstance("md5");
        //2.指定时其字符编码 为utf-8
        md.update(input.getBytes("utf-8"));
        //3.计算信息摘要digest()方法
        //返回值为字节数组
        byte[] hashCode = md.digest();
        //4.将byte[] 转换为找度为32位的16进制字符串
        //声明StringBuffer对象来存放最后的值
        StringBuffer sb = new StringBuffer();
        //遍历字节数组
        for (byte b : hashCode) {
            //对数组内容转化为16进制，
            sb.append(Character.forDigit(b >> 4 & 0xf, 16));
            //换2次为32位的16进制
            sb.append(Character.forDigit(b & 0xf, 16));
        }
        return sb.toString();
    }

}
